MongoDB缓存技术总结
MongoDB简介
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
- MongoDB是一个基于分布式文件存储的数据库
- MongoDB是介于NoSQL和关系型数据库之间的一款产品
- MongdoDB是基于C++语言编写
- MongoDB具有查询语言、索引、Key-Value存储结构
- MongoDB存储数据是以BSON类型(二进制JSON)
Redis(读写快、做缓存)—>MongoDB(数据量大、查询统计、缺乏事务支持)—>Oracle(数据量大、查询统计方便、事务强)
MongoDB适用于单表数据操作、完整性要求不高的系统使用
MoongoDB特点是高性能、易部署、易使用,存储数据非常方便。
MongoDB应用
Oracle: 用户空间–>表–>记录
MongoDB: 库–>集合–>JSON对象(记录)
- 查看
show dbs //查看有哪些库
show collections //查看库中有哪些集合
- 库操作
use 库名 //使用某个库,进入某个库,创建一个库
库名.dropDatabase() //删除
-
集合操作
对集合进行增删改差操作。
db.集合名.insert(xx) //创建集合插入记录
db.集合名.drop() //删除集合
db.集合名.find() //查询
db.集合名.update() //更新
db.集合名.remove() //删除
- 添加操作
//插入单个记录 db.dept.insert({"deptno":10,"dname":"java"}) //插入多个记录 db.dept.insert([{"deptno":10,"dname":"java"},{"deptno":20,"dname":"javaee"}])
- 查询操作
//查询所有记录 db.dept.find() //查询deptno=10的记录 db.dept.find({"deptno":10}) //查询deptno>20的记录 (其他$gte、$lt、$lte、$ne) db.dept.find({"deptno":{$gt:20}}) //查询dname以j字母开始的记录 db.dept.find({"dname":/^j/}) //查询dname中包含a的记录 db.dept.find({"dname":/a/})
- 删除操作
//删除deptno=10的记录 db.dept.remove({"deptno":10}) //删除所有记录 db.dept.remove({})
- 更新操作
//全部更新,会将整个json对象盖掉 db.dept.update({"deptno":30},{"phone":"1354444444"}) //部分更新,修改某个属性值 db.dept.update({"deptno":30},{$set:{"phone":"1354444444"}})
- 统计操作
//统计总记录数
db.dept.count()
//统计符合条件的记录数
db.dept.count({"dname":"java"})